minetest.register_node('furniture:cabinet_wall', {
   description = 'Wall Mounted Cabinet',
   drawtype = 'mesh',
   mesh = 'furniture_cabinet_wall.obj',
   tiles = {'furniture_cabinet_wall.png'},
   paramtype = 'light',
   paramtype2 = 'colorfacedir',
   palette = 'furniture_stain_palette.png',
   selection_box = {
      type = 'fixed',
      fixed = {-.5, -.5, -.3, .5, .5, .5},
      },
   collision_box = {
      type = 'fixed',
      fixed = {-.5, -.5, -.3, .5, .5, .5},
      },
   groups = {breakable=1, stash=1},
   on_rightclick = furniture.right_click,
   on_punch = furniture.punch
})

minetest.register_node('furniture:cabinet_wall_half', {
   description = 'Wall Mounted Cabinet(1/2 hight)',
   drawtype = 'mesh',
   mesh = 'furniture_cabinet_wall_half.obj',
   tiles = {'furniture_cabinet_wall_half.png'},
   paramtype = 'light',
   paramtype2 = 'colorfacedir',
   palette = 'furniture_stain_palette.png',
   selection_box = {
      type = 'fixed',
      fixed = {-.5, -.125, -.3, .5, .5, .5},
      },
   collision_box = {
      type = 'fixed',
      fixed = {-.5, -.125, -.3, .5, .5, .5},
      },
   groups = {breakable=1, stash=1},
   on_rightclick = furniture.right_click,
   on_punch = furniture.punch
})

minetest.register_node('furniture:cabinet_counter', {
   description = 'Cabinet with Countertop',
   drawtype = 'mesh',
   mesh = 'furniture_cabinet_counter.obj',
   tiles = {'furniture_cabinet_counter.png'},
   paramtype = 'light',
   paramtype2 = 'colorfacedir',
   palette = 'furniture_stain_palette.png',
   selection_box = {
      type = 'fixed',
      fixed = {-.5, -.5, -.5, .5, .5, .5},
      },
   collision_box = {
      type = 'fixed',
      fixed = {-.5, -.5, -.5, .5, .5, .5},
      },
   groups = {breakable=1, stash=1},
   on_rightclick = furniture.right_click,
   on_punch = furniture.punch
})

minetest.register_node('furniture:cabinet_counter_sink', {
   description = 'Cabinet with Sink',
   drawtype = 'mesh',
   mesh = 'furniture_cabinet_sink.obj',
   tiles = {'furniture_cabinet_counter.png', ''},
   overlay_tiles = {'',{name='furniture_cabinet_sink.png', color='white'}},
   paramtype = 'light',
   paramtype2 = 'colorfacedir',
   palette = 'furniture_stain_palette.png',
   selection_box = {
      type = 'fixed',
      fixed = {-.5, -.5, -.5, .5, .5, .5},
      },
   collision_box = {
      type = 'fixed',
      fixed = {-.5, -.5, -.5, .5, .5, .5},
      },
   groups = {breakable=1, stash=1},
   on_rightclick = furniture.right_click,
   on_punch = furniture.punch
})

minetest.register_node('furniture:cabinet_counter_corner_inside', {
   description = 'Cabinet with Countertop (Inside Corner)',
   drawtype = 'mesh',
   mesh = 'furniture_cabinet_counter_ci.obj',
   tiles = {'furniture_cabinet_counter_ci.png'},
   paramtype = 'light',
   paramtype2 = 'colorfacedir',
   palette = 'furniture_stain_palette.png',
   selection_box = {
      type = 'fixed',
      fixed = {-.5, -.5, -.5, .5, .5, .5},
      },
   collision_box = {
      type = 'fixed',
      fixed = {-.5, -.5, -.5, .5, .5, .5},
      },
   groups = {breakable=1, stash=1},
   on_rightclick = furniture.right_click,
   on_punch = furniture.punch
})

minetest.register_node('furniture:cabinet_counter_corner_outside', {
   description = 'Cabinet with Countertop (Outside Corner)',
   drawtype = 'mesh',
   mesh = 'furniture_cabinet_counter_co.obj',
   tiles = {'furniture_cabinet_counter_co.png'},
   paramtype = 'light',
   paramtype2 = 'colorfacedir',
   palette = 'furniture_stain_palette.png',
   selection_box = {
      type = 'fixed',
      fixed = {-.5, -.5, -.5, .5, .5, .5},
      },
   collision_box = {
      type = 'fixed',
      fixed = {-.5, -.5, -.5, .5, .5, .5},
      },
   groups = {breakable=1, stash=1},
   on_rightclick = furniture.right_click,
   on_punch = furniture.punch
})

--Modern textures (grey in color)

minetest.register_node('furniture:cabinet_wall_1', {
   description = 'Wall Mounted Cabinet',
   drawtype = 'mesh',
   mesh = 'furniture_cabinet_wall.obj',
   tiles = {'furniture_cabinet_wall_1.png'},
   paramtype = 'light',
   paramtype2 = 'facedir',
   selection_box = {
      type = 'fixed',
      fixed = {-.5, -.5, -.3, .5, .5, .5},
      },
   collision_box = {
      type = 'fixed',
      fixed = {-.5, -.5, -.3, .5, .5, .5},
      },
   groups = {breakable=1, stash=1},
   on_punch = furniture.punch
})

minetest.register_node('furniture:cabinet_wall_half_1', {
   description = 'Wall Mounted Cabinet(1/2 hight)',
   drawtype = 'mesh',
   mesh = 'furniture_cabinet_wall_half.obj',
   tiles = {'furniture_cabinet_wall_half_1.png'},
   paramtype = 'light',
   paramtype2 = 'facedir',
   selection_box = {
      type = 'fixed',
      fixed = {-.5, -.125, -.3, .5, .5, .5},
      },
   collision_box = {
      type = 'fixed',
      fixed = {-.5, -.125, -.3, .5, .5, .5},
      },
   groups = {breakable=1, stash=1},
   on_punch = furniture.punch
})

minetest.register_node('furniture:cabinet_counter_1', {
   description = 'Cabinet with Countertop',
   drawtype = 'mesh',
   mesh = 'furniture_cabinet_counter.obj',
   tiles = {'furniture_cabinet_counter_1.png'},
   paramtype = 'light',
   paramtype2 = 'facedir',
   selection_box = {
      type = 'fixed',
      fixed = {-.5, -.5, -.5, .5, .5, .5},
      },
   collision_box = {
      type = 'fixed',
      fixed = {-.5, -.5, -.5, .5, .5, .5},
      },
   groups = {breakable=1, stash=1},
   on_punch = furniture.punch
})

minetest.register_node('furniture:cabinet_counter_sink_1', {
   description = 'Cabinet with Sink',
   drawtype = 'mesh',
   mesh = 'furniture_cabinet_sink.obj',
   tiles = {'furniture_cabinet_counter_1.png', 'furniture_cabinet_sink.png'},
   paramtype = 'light',
   paramtype2 = 'facedir',
   selection_box = {
      type = 'fixed',
      fixed = {-.5, -.5, -.5, .5, .5, .5},
      },
   collision_box = {
      type = 'fixed',
      fixed = {-.5, -.5, -.5, .5, .5, .5},
      },
   groups = {breakable=1, stash=1},
   on_punch = furniture.punch
})

minetest.register_node('furniture:cabinet_counter_corner_inside_1', {
   description = 'Cabinet with Countertop (Inside Corner)',
   drawtype = 'mesh',
   mesh = 'furniture_cabinet_counter_ci.obj',
   tiles = {'furniture_cabinet_counter_ci_1.png'},
   paramtype = 'light',
   paramtype2 = 'facedir',
   selection_box = {
      type = 'fixed',
      fixed = {-.5, -.5, -.5, .5, .5, .5},
      },
   collision_box = {
      type = 'fixed',
      fixed = {-.5, -.5, -.5, .5, .5, .5},
      },
   groups = {breakable=1, stash=1},
   on_punch = furniture.punch
})

minetest.register_node('furniture:cabinet_counter_corner_outside_1', {
   description = 'Cabinet with Countertop (Outside Corner)',
   drawtype = 'mesh',
   mesh = 'furniture_cabinet_counter_co.obj',
   tiles = {'furniture_cabinet_counter_co_1.png'},
   paramtype = 'light',
   paramtype2 = 'facedir',
   selection_box = {
      type = 'fixed',
      fixed = {-.5, -.5, -.5, .5, .5, .5},
      },
   collision_box = {
      type = 'fixed',
      fixed = {-.5, -.5, -.5, .5, .5, .5},
      },
   groups = {breakable=1, stash=1},
   on_punch = furniture.punch
})

minetest.register_node('furniture:microwave', {
   description = 'Microwave',
   drawtype = 'mesh',
   mesh = 'furniture_microwave.obj',
   tiles = {'furniture_microwave.png'},
   paramtype = 'light',
   paramtype2 = 'facedir',
   selection_box = {
      type = 'fixed',
      fixed = {-.425, -.5, -.375, .425, .2, .4},
      },
   collision_box = {
      type = 'fixed',
      fixed = {-.425, -.5, -.375, .425, .2, .4},
      },
   groups = {breakable=1, stash=1},
   on_punch = furniture.punch
})

minetest.register_node('furniture:oven', {
   description = 'Oven',
   drawtype = 'mesh',
   mesh = 'furniture_oven.obj',
   tiles = {'furniture_oven.png'},
   paramtype = 'light',
   paramtype2 = 'facedir',
   groups = {breakable=1, stash=1},
   on_punch = furniture.punch
})

minetest.register_node('furniture:refrigerator_industrial', {
   description = 'Industrial Refrigerator',
   drawtype = 'mesh',
   mesh = 'furniture_refrigerator_industrial.obj',
   tiles = {'furniture_refrigerator_industrial.png'},
   paramtype = 'light',
   paramtype2 = 'facedir',
   selection_box = {
      type = 'fixed',
      fixed = {-.5, -.5, -.375, .5, 1.5, .5},
      },
   collision_box = {
      type = 'fixed',
      fixed = {-.5, -.5, -.375, .5, 1.5, .5},
      },
   groups = {breakable=1, stash=1},
   on_punch = furniture.punch
})

minetest.register_node('furniture:refrigerator', {
   description = 'Refrigerator',
   drawtype = 'mesh',
   mesh = 'furniture_refrigerator.obj',
   tiles = {'furniture_refrigerator.png'},
   palette = 'furniture_refrigerator_palette.png',
   paramtype = 'light',
   paramtype2 = 'colorfacedir',
   selection_box = {
      type = 'fixed',
      fixed = {-.5, -.5, -.375, .5, 1.5, .5},
      },
   collision_box = {
      type = 'fixed',
      fixed = {-.5, -.5, -.375, .5, 1.5, .5},
      },
   groups = {breakable=1, stash=1},
   on_rightclick = furniture.right_click,
   on_punch = furniture.punch
})

minetest.register_node('furniture:food_prep', {
   description = 'Food Prep',
   drawtype = 'mesh',
   mesh = 'furniture_food_prep.obj',
   tiles = {'furniture_food_prep.png'},
   use_texture_alpha = 'opaque',
   paramtype2 = 'facedir',
   paramtype = 'light',
   selection_box = {
      type = 'fixed',
      fixed = {-.4, -.5, -.4, 1.4, -.2, .4},
      },
   collision_box = {
      type = 'fixed',
      fixed = {-.4, -.5, -.4, 1.4, -.2, .4},
      },
   groups = {breakable=1, stash=1},
})
